# 甲年华微信小程序后端 Makefile

.PHONY: help build run init-db check-db clean test

# 默认目标
help:
	@echo "可用的命令:"
	@echo "  make init-db    - 初始化数据库（使用SQL脚本）"
	@echo "  make check-db   - 检查数据库结构"
	@echo "  make build      - 编译程序"
	@echo "  make run        - 运行程序"
	@echo "  make clean      - 清理编译文件"
	@echo "  make test       - 运行测试"

# 初始化数据库
init-db:
	@echo "初始化数据库..."
	@docker exec -i jianianhua-mysql mysql -u root -ppassword jianianhua < scripts/init_database_complete.sql
	@echo "数据库初始化完成！"

# 检查数据库结构
check-db:
	@echo "检查数据库结构..."
	@go run cmd/checkdb/main.go

# 编译程序（当前系统架构）
build:
	@echo "编译程序..."
	@go build -o bin/jianianhua-server main.go
	@echo "编译完成！"

# 编译 Linux 版本（用于服务器部署）
build-linux:
	@echo "编译 Linux 版本..."
	@GOOS=linux GOARCH=amd64 go build -o jianianhua-server main.go
	@echo "✅ Linux 版本编译完成: jianianhua-server"
	@echo "文件大小:"
	@ls -lh jianianhua-server

# 运行程序
run:
	@echo "启动服务器..."
	@go run main.go

# 清理编译文件
clean:
	@echo "清理编译文件..."
	@rm -rf bin/
	@go clean
	@echo "清理完成！"

# 运行测试
test:
	@echo "运行测试..."
	@go test ./...
	@echo "测试完成！"

# 完整初始化（数据库 + 启动）
init-all: init-db run
